package rawengine.tilegame.tilemap;



import java.util.ArrayList;

import rawengine.math.Vector2f;




public class Scene {

    private ArrayList<Layer> layers;
  
    
    public Scene() 
    {
    	
        layers = new ArrayList<Layer>();
 
    }
    
    public void addLayer(Layer layer)
    {
    	layers.add(layer);
    	
    }
    
    public void addLayer(Layer layer, int index)
    {
    	layers.add(index, layer);
    }
    
    public int getIndexLayer(Layer layer)
    {
    	return layers.indexOf(layer);
    }
    
    public void removeLayer(Layer layer)
    {
    	layers.remove(layer);
    }
    
    public int getCountLayers()
    {
    	return layers.size();
    }
    
    public Layer getLayer(int index)
    {
    	return layers.get(index);
    }

    /*
    public void update()
    {
    	
    	for(int i=0; i<layers.size(); i++)
    	{
    		Layer layer = layers.get(i);
    		if(layer.isVisible())
    		{
    			layer.update();
    		}
    		
    	}
    }
*/
    public void draw()
    {
    	
    	for(int i=0; i<layers.size(); i++)
    	{
    		Layer layer = layers.get(i);
    		if(layer.isVisible())
    		{
    			layer.draw();
    		}
    		
    	}
    }
    
    public void scroll(Vector2f scroll)
    {
    	for(int i = 0; i <layers.size(); i++)
    	{
    		Layer layer = layers.get(i);
    		if(layer.isVisible())
    		{
    			layer.scroll(scroll);
    		}
    		
    	}
    }
    
    public void setOffsetX(float x)
    {
    	for(int i = 0; i <layers.size(); i++)
    	{
    		layers.get(i).setOffsetX(x);
    	}
    }
    

   
}
